Search tools provide users with the ability to quickly and efficiently search for items of interest. The search results can provide feedback to enable the searcher to narrow the scope of queries in order to provide more relevant data. Successive queries can eventually narrow the results and exclude unwanted data until the subject, or target result, of the search is acquired. However, the narrowing of the search results too early in a search can present problems where relevant data is excluded early on.
This problem is particularly evident when the data set being searched is large or changing. Once a promising lead is discovered, analysts can become myopic and quickly narrow the search, excluding other potentially relevant information. For dynamic datasets, new information can potentially be ignored completely as the user has already narrowed the search into the pre-existing data. Clusters of disjointed searches can also result, where numerous queries into disparate sets of data may be related, but the connections are not readily apparent.
Recommendation and optimization systems can also suffer from overly focused queries and data. A user experience optimization system can learn user preferences based on user feedback and history, but the recommendations can be too narrow, and not fully represent the interests or desires of the user. Furthermore, positive feedback loops tend to occur, where users are presented with a limited range of recommendations to select from at each iteration, successively narrowing the recommendations.
The above-described deficiencies of today's code generation and memory management schemes are merely intended to provide an overview of some of the problems of conventional systems, and are not intended to be exhaustive. Other problems with the state of the art and corresponding benefits of some of the various non-limiting embodiments may become further apparent upon review of the following detailed description.